package his.service;

import his.entity.Register;
import his.entity.User;
import his.entity.Voucher;
import his.vo.DepartmentVO;
import his.vo.MedicalRecordVO;
import his.vo.PayVO;
import his.vo.RegisterVO;
import org.example.his.common.api.CommonResponse;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;

public interface RegisterService {

    public CommonResponse pay_func(String casenumber);

    public CommonResponse<List<Voucher>> getvoucher(String casenumber);

    public CommonResponse<String> get_casenumber(String token);

    public CommonResponse check_token(String token);

    //根据病历号查找挂号信息
    CommonResponse<List<Register>> get_searchregister(String CaseNumber);

    //新增挂号信息
    CommonResponse<RegisterVO> add_new_register(
                                              String RealName,
                                              String Gender,
                                              int Age,
                                              String BirthDate,
                                              String IDnumber,
                                              String HomeAddress,
                                              int RegistLeID,
                                              int DeptID,
                                              int UserID,
                                              char isBook,
                                              int RegisterID,
                                              String Noon
                                              );

    //删除挂号信息
    CommonResponse<Register> dele_regist(String CaseNumber , int VisitState);
    //查找用户项目、支付信息
    CommonResponse<List<MedicalRecordVO>> search_patient_cost(String CaseNumber);
    //退费
    CommonResponse<String> refunds(int RegistID , String CaseNumber , int ItemID , BigDecimal price ,  int ItemType , String Status ,BigDecimal totalPrice);
    //收费
    CommonResponse<PayVO> pay(String CaseNumber , int ItemID , int RegistID , BigDecimal totalPrice , int ItemType);
    //获取部门列表（大类列表和小类列表）
    CommonResponse<List<DepartmentVO>> get_depar_lists();
    //小程序 获取对应科室的对应医生列表
    CommonResponse<List<User>> get_doctors(int depar_id);
    //小程序挂号api
    CommonResponse<String> regist_xcx(int doc_id , String token);
}
